home *** CD-ROM | disk | FTP | other *** search
- //------------------------------------------------------------------------------
- //
- // ADOBE SYSTEMS INCORPORATED
- // Copyright 2000-2002 Adobe Systems Incorporated
- // All Rights Reserved
- //
- // NOTICE: Adobe permits you to use, modify, and distribute
- // this file in accordance with the terms of the Adobe license
- // agreement accompanying it. If you have received this file
- // from a source other than Adobe, then your use, modification,
- // or distribution of it requires the prior written permission
- // of Adobe.
- //
- //------------------------------------------------------------------------------
-
-
- //----------------------------------------------------
- // colorize
- //
- // Description:
- // add color to a custom box.
-
- function colorize(box, draw, color)
- {
- var width = box.width; // width of box
- draw.setColor(color);
- draw.fillRect (0, 0, width, box.topMargin);
- var y = box.height - box.bottomMargin // move up from the bottom edge
- draw.fillRect (0, y , width, box.bottomMargin);
- draw.fillRect (0, 0 , box.leftMargin, y);
- draw.fillRect (width - box.rightMargin, 0 , box.rightMargin, box.height);
- }
-
- //----------------------------------------------------
- // draw functions:
- //
- // Description:
- // Called by drawBox().
- // Draw the custom box.
- // Draw red border if element in incorrect
- // position.
-
- function drawA(box, draw)
- {
- if (!document) {
- // there should always be a document
- // since the custom box is drawn in a document
- return;
- }
- var version = getWMLVersion(document);
-
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForAnchorAndA(box.element, version) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawContentModel(box, draw, "(TEXT | Img)*");
- drawTitle(box, draw);
- aIcon.draw(1,1);
- }
-
- function drawAnchor(box, draw)
- {
- if (!document) {
- // there should always be a document
- // since the custom box is drawn in a document
- return;
- }
- var version = getWMLVersion(document);
-
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForAnchorAndA(box.element, version) < 0) ? "red" : "black";
- drawBorder(box,draw, borderColor);
- drawTitle(box, draw);
- drawContentModel(box, draw, "(TEXT | Img | Go | Prev | Refresh)*");
- anchorIcon.draw(1,1);
- }
-
- function drawBorder(box,draw,color)
- {
- w = box.width;
- h = box.height;
- draw.setColor(color);
- draw.textFace(1);
- draw.penSize(1);
- draw.frameRect(1,1,w-2,h-2);
- }
-
- function drawCard(box,draw){
- if (!document) {
- // need a document for getWMLVersion()
- // and there should always be a document
- // when drawing a custom box
- return;
- }
- colorize(box, draw, "#CCFFFF");
- var borderColor = (checkPositionForCard(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- var version = getWMLVersion(document);
- if (version == "1.1")
- drawContentModel(box, draw, "OnEvent*, Timer?, (Do | P)*");
- else
- drawContentModel(box, draw, "OnEvent*, Timer?, (Do | P | Pre)*");
- drawTitle(box, draw);
- cardIcon.draw(1,1)
- }
-
- // draw element name followed by content model
- // model contains content model string
- function drawContentModel(box, draw, model)
- {
- // get tag name
- tagName = box.element.tagName;
-
- // draw tag name
- w = box.width;
- h = box.height;
- draw.textFace(0);
- draw.penSize(1);
- draw.textSize(11);
- xPos = 14;
- yPos = 1;
- draw.moveTo(xPos, yPos);
- draw.drawString(tagName);
-
- // draw content model
- xPos = xPos + draw.stringWidth(tagName + " ");
- yPos += 3;
- draw.setColor("BlueViolet");
- draw.textFace(2);
- draw.textSize(8);
- draw.moveTo(xPos, yPos);
- draw.drawString(model);
- }
-
- function drawDeck(box,draw)
- {
- if (box == null || draw == null)
- return;
- else
- colorize(box, draw, "#FFFFCC");
- drawBorder(box, draw, "black");
- drawContentModel(box, draw, "Template?, Card+");
- deckIcon.draw(1,1);
- }
-
-
- function drawDo(box,draw)
- {
- if (!document) {
- // there should always be a document
- // since the custom box is drawn in a document
- return;
- }
- var version = getWMLVersion(document);
-
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForDo(box.element, version) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor)
- drawContentModel(box, draw, "Go | Prev | Noop | Refresh")
- doIcon.draw(1,1)
- }
-
- function drawFieldset(box, draw)
- {
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForFieldset(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawTitle(box, draw);
- drawContentModel(box, draw, "(TEXT | a | Anchor | Do | Fieldset | Img | Input | Select)*");
- fieldsetIcon.draw(1,1);
- }
-
- function drawGo(box,draw){
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForGoPrevAndRefresh(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor)
- drawContentModel(box, draw, "(Postfield | Setvar)*")
- goIcon.draw(1,1)
- }
-
- function drawImg(box, draw)
- {
- var borderColor = (checkPositionForImg(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- imageIcon.draw(1,1);
- }
-
- function drawInput(box,draw)
- {
- if (!document) {
- // there should always be a document
- // since the custom box is drawn in a document
- return;
- }
- var version = getWMLVersion(document);
-
- var borderColor = (checkPositionForInputAndSelect(box.element, version) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor)
- if (box.element.title) {
- draw.moveTo(14,2);
- draw.drawString(box.element.title)
- }
- if (box.element.size) {
- var titleWidth = (box.element.title) ? draw.stringWidth(box.element.title) : 0;
- draw.frameRect(titleWidth + 18, 3, box.element.size * 7, 13);
- }
- inputIcon.draw(1,1);
- }
-
- function drawNoop(box,draw)
- {
- var borderColor = (checkPositionForNoop(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- noopIcon.draw(1,1);
- }
-
- function drawOnevent(box,draw)
- {
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForOnevent(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawContentModel(box, draw, "Go | Prev | Noop | Refresh");
- oneventIcon.draw(1,1);
- }
-
- function drawOption(box,draw)
- {
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForOption(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawTitle(box, draw);
- drawContentModel(box, draw, "(TEXT | OnEvent)*");
- optionIcon.draw(1,1);
- }
-
- function drawOptiongroup(box, draw)
- {
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForOptgroup(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawTitle(box, draw);
- drawContentModel(box, draw, "(Option Group | Option)+");
- optgroupIcon.draw(1,1);
- }
-
- function drawPostfield(box,draw)
- {
- var borderColor = (checkPositionForPostfield(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- postfieldIcon.draw(1,1);
- }
-
- function drawPre(box,draw)
- {
- if (!document) {
- // there should always be a document
- // since the custom box is drawn in a document
- return;
- }
- var version = getWMLVersion(document);
-
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForPre(box.element, version) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawContentModel(box, draw, "(TEXT | A | Anchor | Do | Input | Select)*");
- preIcon.draw(1,1);
- }
-
-
- function drawPrev(box,draw)
- {
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForGoPrevAndRefresh(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawContentModel(box, draw, "(Setvar)*");
- prevIcon.draw(1,1);
- }
-
-
- function drawRefresh(box,draw){
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForGoPrevAndRefresh(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawContentModel(box, draw, "(Setvar)*");
- refreshIcon.draw(1,1);
- }
-
- function drawSelect(box,draw)
- {
- if (!document) {
- // there should always be a document
- // since the custom box is drawn in a document
- return;
- }
- var version = getWMLVersion(document);
-
- colorize(box, draw, "#FAF0E6");
- var borderColor = (checkPositionForInputAndSelect(box.element, version) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- drawTitle(box, draw);
- drawContentModel(box, draw, "(Option Group | Option)+");
- selectIcon.draw(1,1);
- }
-
- function drawSetvar(box,draw)
- {
- var borderColor = (checkPositionForSetvar(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor)
- setvarIcon.draw(1,1)
- }
-
- function drawTemplate(box,draw)
- {
- colorize(box, draw, "#CCFFCC");
- var displayBlack = true;
- var borderColor = (checkPositionForTemplate(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor)
- drawContentModel(box, draw, "(Do | Onevent)*")
- templateIcon.draw(1,1)
- }
-
- function drawTimer(box, draw)
- {
- var borderColor = (checkPositionForTimer(box.element) < 0) ? "red" : "black";
- drawBorder(box, draw, borderColor);
- timerIcon.draw(1,1);
- }
-
-
- // draw title centered horizontally in box
- function drawTitle(box, draw)
- {
- var x, y;
- if (box.element.title) {
- draw.setColor("black");
- draw.textFace(1); // bold
- draw.penSize(1);
- if (box.element.tagName == "card")
- draw.textSize(11);
- else
- draw.textSize(9);
- x = (box.width - draw.stringWidth(box.element.title)) / 2;
- y = 20;
- draw.moveTo(x, y);
- if (box.element.title)
- draw.drawString(box.element.title);
- }
- }